The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent the work is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
Cloud service providers rent computing and data resources in a cloud network to customers or tenants. Examples of computing resources include web services and server farms, elastic database pools, and virtual machine and/or container instances supporting infrastructure as a service (IaaS) or platform as a service (PaaS). Examples of data resources include cloud storage. Tenants typically enter into a service level agreement (SLA) that sets performance guarantees and governs other aspects relating to the relationship between the cloud services provider and the tenant.
Data centers include servers or nodes that host one or more VM and/or container instances. The VM instances run on a host operating system (OS), run a guest OS and interface with a hypervisor, which shares and manages server hardware and isolates the VM instances. Unlike VM instances, container instances do not need a full OS to be installed or a virtual copy of the host server's hardware. Container instances may include one or more software modules and libraries and require the use of some portions of an operating system and hardware. As a result of the reduced footprint, many more container instances can be deployed on a server as compared to VMs.
If too much capacity is allocated by the cloud network, the tenant pays too much for the cloud resources. If not enough capacity is provided, the SLA may be violated and/or the processing needs of the tenant are not satisfied. Tenants are often forced to over-provision cloud resources based on peak usage and over pay or under-provision resources to save cost at the expense of performance during peak usage.